package persistencia.xml.martin;

import java.util.ArrayList;
import java.util.Iterator;



public class CSVList {

	protected static ArrayList<String> listaParametros;
	protected static ArrayList<String> listaRegistros;

	
	public int obtenerIndiceCampo(String campo)
	{
	
		int i = 1;
		
		Iterator<String> iCampos = listaParametros.iterator();
		
		while (iCampos.hasNext())
		{
			if ( iCampos.next().equals(campo) )
			{
				return (i); // devuelve el index del campo
			}
			
			i++;
		}
		
		return 0; // si el campo no existe devuelve 0
	}
	
	public String obtenerElemento(int id, String campo)
	{
		
		String valor = "";
		
		String registro = "";
		
		Iterator<String> iRegistros = listaRegistros.iterator();
			
	  	while (iRegistros.hasNext())
	  	{
	  	    registro = iRegistros.next();
	  		
	  		if( Integer.toString(id).equals(obtenerCampo(registro,obtenerIndiceCampo("Id"))))
	  		{
	  			valor = obtenerCampo(registro,obtenerIndiceCampo(campo));
	  		}
	  	  
	  	}
	 
		
		return valor;
		
	}
	
	private String obtenerCampo(String registro ,int indice)
	{
		// recibe un registro csv y el numero de campo y retorna el campo pedido
		
		String valor;
		int i,iSeparador;
		
		valor = registro;
		
		for ( i = 1 ; i < indice; i++)
		{
			
			iSeparador = valor.indexOf(";");
			valor = valor.substring(iSeparador+1);
			
		}
		
		iSeparador = valor.indexOf(";");
		valor = valor.substring(0,iSeparador);
		
		return valor;
	}
	
	
	
	public void addElement(String s)
	{
		listaRegistros.add(s);
	}
	
	
	
	public ArrayList<String> getListaParametros()
	{
		return(listaParametros);
	}

	public String crearRegistro(ArrayList<String> valores)
	{
	  	  // concatena los campos del casillero al formato CSV valor;valor;valor
	  	  String e = "";
	  	  
	  	  Iterator<String> i = valores.iterator();
	  	  
	  	  while (i.hasNext())
	  	  {
	  	     e += i.next() + ";" ;
	  	  }
	  	
	  	  return e;
	    }
	    


}
